﻿namespace Unikado.PHPLibs.Tokenizer.Highlighter
{

    /// <summary>
    /// …
    /// </summary>
    public enum HighlighterTokenType
    {
        
        /// <summary>
        /// No PHP code.
        /// </summary>
        NoPhp,
        /// <summary>
        /// All PHP comments, excluding DocBlocks.
        /// </summary>
        Comment,
        /// <summary>
        /// All DocBlock comments.
        /// </summary>
        DocBlock,
        /// <summary>
        /// All Strings, including HEREDOC and NOWDOW strings
        /// </summary>
        String,
        /// <summary>
        /// All PHP variables, excluding Superglobals.
        /// </summary>
        Variable,
        /// <summary>
        /// The PHP Superglobal Variables
        /// </summary>
        SuperGlobal,
        /// <summary>
        /// All PHP Operators
        /// </summary>
        Operator,
        /// <summary>
        /// A PHP Keyword.
        /// </summary>
        Keyword,
        /// <summary>
        /// A number (integer or float)
        /// </summary>
        Number,
        /// <summary>
        /// Opening and closing PHP tag.
        /// </summary>
        PhpTag,
        /// <summary>
        /// One of the magic PHP constants.
        /// </summary>
        MagicConstant,
        /// <summary>
        /// A known, predefined PHP core function name
        /// </summary>
        PhpFunction,
        /// <summary>
        /// A known, predefined PHP core interface name
        /// </summary>
        PhpInterface,
        /// <summary>
        /// A known, predefined PHP core class name
        /// </summary>
        PhpClass,
        /// <summary>
        /// All PHP brackets { [ ( ) ] }
        /// </summary>
        Bracket

    }

}